﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using MobileBroadbandUserBlog.MBLM.Core.Interfaces;

namespace MobileBroadbandUserBlog.MBLM
{
    public abstract class IMobileSoftwareFactory
    {
        /// <summary>
        /// Returns a list of mobile broadband software representations that are natively supported by Mobile Broadband Logging Monitor.
        /// </summary>
        public abstract ReadOnlyCollection<IMobileSoftware> GetMobileBroadbandSoftware();


        public abstract void AddMobileBroadbandSoftware(IMobileSoftware mobileSoftware);
        public abstract void RemoveMobileBroadbandSoftware(IMobileSoftware mobileSoftware);

        /// <summary>
        /// <para>Returns a mobile broadband software representing the mobile software found on the system. </para>
        /// <para>If more than one mobile broadband software is found on the system, the first representation is returned. If no mobile software is found, null is returned.</para>
        /// </summary>
        //public abstract IMobileSoftware GetMobileBroadbandSoftwareForThisComputer();
    }

}
